home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.4)
-
- import array
- from impacket import ImpactPacket
- import dcerpc
- import ndrutils
- from struct import *
- MSRPC_UUID_REMOTE_ACTIVATION = '\xb8J\x9fM\x1c}\xcf\x11\x86\x1e\x00 \xafn|W\x00\x00\x00\x00'
- MSRPC_UUID_SYSTEM_ACTIVATOR = '\xa0\x01\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00F\x00\x00\x00\x00'
-
- class ORPCTHIS:
- __SIZE = 32
-
- def __init__(self, data = 0):
- self._version_hi = 5
- self._version_low = 6
- self._flags = 1
- self._reserved1 = 0
- self._cid = '\xf1Y\xeba\xfb\x1e\xd1\x11\xbc\xd9\x00`\x97\x92\xd2l'
- self._extensions = '`^\r\x00'
-
-
- def set_version(self, mayor, minor):
- self._version_hi = mayor
- self._version_low = minor
-
-
- def set_cid(self, uuid):
- self._cid = uuid
-
-
- def rawData(self):
- return pack('<HHLL', self._version_hi, self._version_low, self._flags, self._reserved1) + self._cid + self._extensions
-
-
-
- class UnknownOpnum3RequestHeader(ImpactPacket.Header):
- OP_NUM = 3
- __SIZE = 48
-
- def __init__(self, aBuffer = None):
- ImpactPacket.Header.__init__(self, UnknownOpnum3RequestHeader._UnknownOpnum3RequestHeader__SIZE)
- self.set_bytes_from_string('\x05\x00\x06\x01\x00\x00\x00\x00' + '1' * 32 + '\x00' * 8)
- if aBuffer:
- self.load_header(aBuffer)
-
-
-
- def get_header_size(self):
- return UnknownOpnum3RequestHeader._UnknownOpnum3RequestHeader__SIZE
-
-
-
- class UnknownOpnum4RequestHeader(ImpactPacket.Header):
- OP_NUM = 4
- __SIZE = 48
-
- def __init__(self, aBuffer = None):
- ImpactPacket.Header.__init__(self, UnknownOpnum4RequestHeader._UnknownOpnum4RequestHeader__SIZE)
- self.get_bytes()[:32] = array.array('B', ORPCTHIS().rawData())
- self.set_cls_binuuid('\x01\x00\x00\x00\x00\x00\x00\x00p^\r\x00\x02\x00\x00\x00')
- if aBuffer:
- self.load_header(aBuffer)
-
-
-
- def get_c_binuuid(self):
- return self.get_bytes().tolist()[12:12 + 16]
-
-
- def set_c_binuuid(self, binuuid):
- if not 16 == len(binuuid):
- raise AssertionError
- self.get_bytes()[12:12 + 16] = array.array('B', binuuid)
-
-
- def get_cls_binuuid(self):
- return self.get_bytes().tolist()[32:32 + 16]
-
-
- def set_cls_binuuid(self, binuuid):
- if not 16 == len(binuuid):
- raise AssertionError
- self.get_bytes()[32:32 + 16] = array.array('B', binuuid)
-
-
- def get_header_size(self):
- return UnknownOpnum4RequestHeader._UnknownOpnum4RequestHeader__SIZE
-
-
-
- class RemoteActivationRequestHeader(ImpactPacket.Header):
- OP_NUM = 0
- __SIZE = 124
-
- def __init__(self, aBuffer = None):
- ImpactPacket.Header.__init__(self, UnknownOpnum4RequestHeader._RemoteActivationRequestHeader__SIZE)
- self.get_bytes()[:32] = array.array('B', ORPCTHIS().rawData())
- self.set_cls_binuuid('\xbe\x1d\x8dG\xff\xd6\xe1L\xacT\xaa\xd5N\xf3E\xd3')
- self.set_client_implementation_level(2)
- self.set_interfaces_num(1)
- self.get_bytes()[68:76] = array.array('B', '\x80?\x15\x00\x01\x00\x00\x00')
- self.set_pi_binuuid('\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00F')
- self.get_bytes()[92:124] = array.array('B', '\x01\x00\x00\x00\x01\x00\x00\x00\x07\x00d\x00\x04\x00i\x00\x01\x00\x00\x00\x87\x03\xb2\xd6\x99\xee\xace\xc7S\x81\xa4')
- if aBuffer:
- self.load_header(aBuffer)
-
-
-
- def get_c_binuuid(self):
- return self.get_bytes().tolist()[12:12 + 16]
-
-
- def set_c_binuuid(self, binuuid):
- if not 16 == len(binuuid):
- raise AssertionError
- self.get_bytes()[12:12 + 16] = array.array('B', binuuid)
-
-
- def get_cls_binuuid(self):
- return self.get_bytes().tolist()[32:32 + 16]
-
-
- def set_cls_binuuid(self, binuuid):
- if not 16 == len(binuuid):
- raise AssertionError
- self.get_bytes()[32:32 + 16] = array.array('B', binuuid)
-
-
- def get_object_name_len(self):
- return self.get_word(48, '<')
-
-
- def set_object_name_len(self, len):
- self.set_word(48, len, '<')
-
-
- def get_object_storage(self):
- return self.get_word(52, '<')
-
-
- def set_object_storage(self, storage):
- self.set_word(52, storage, '<')
-
-
- def get_client_implementation_level(self):
- return self.get_long(56, '<')
-
-
- def set_client_implementation_level(self, level):
- self.set_long(56, level, '<')
-
-
- def get_mode(self):
- return self.get_long(60, '<')
-
-
- def set_mode(self, mode):
- self.set_long(60, mode, '<')
-
-
- def get_interfaces_num(self):
- return self.get_long(64, '<')
-
-
- def set_interfaces_num(self, num):
- self.set_long(64, num, '<')
-
-
- def get_pi_binuuid(self):
- return self.get_bytes().tolist()[76:76 + 16]
-
-
- def set_pi_binuuid(self, binuuid):
- if not 16 == len(binuuid):
- raise AssertionError
- self.get_bytes()[76:76 + 16] = array.array('B', binuuid)
-
-
- def get_header_size(self):
- return UnknownOpnum4RequestHeader._RemoteActivationRequestHeader__SIZE
-
-
-
- class DCERPCDcom:
-
- def __init__(self, dcerpc):
- self._dcerpc = dcerpc
-
-
- def test(self):
- request = RemoteActivationRequestHeader()
- self._dcerpc.send(request)
- data = self._dcerpc.recv()
- return data
-
-
- def test2(self):
- request = UnknownOpnum3RequestHeader()
- self._dcerpc.send(request)
-
-
- def test_lsd(self):
- request = UnknownOpnum4RequestHeader()
- self._dcerpc.send(request)
-
-
-